#ifndef IA_FACTORY_HPP
#define IA_FACTORY_HPP

#include <vector>

#include "core/D4F.h"
#include "core/RetF.h"
#include "core/R_Module.h"
#include "core/R_Model.h"

class IA_Factory{
        public:
            IA_Factory();
            ~IA_Factory();

            void on_newModule();
            void afficheResultat();
            void toStringModel(R_Module);
            std::vector<R_Module> initTest ();
            std::vector<std::vector<int> > correspondances ();

            RetF process (D4F);



        private:
            R_Model m_Peon;
            R_Model m_PeonVolant;
            R_Model m_Japonais;
            R_Model m_Chinois;
            R_Model m_ChinoisVolant;
            R_Model m_Explorateur;
            R_Model m_ExplorateurVolant;
            R_Model m_Radio;
            R_Model m_CaC;
            R_Model m_Archer;
            R_Model m_ArcherVolant;

            std::vector<R_Module> list_modules;

            int k;
};

#endif

